/**
 * @file        main.cpp
 * @author      CHIYoooo
 * @date        Creation Date: 20240303
 * @modified    Last Modified Date: 20240303
 * @brief       WiFi 配网，使用 smartconfig 进行配网，微信搜索 “一键配网” 选择 smartconfig 进行配网
 *              基于 巴法云 提供的 8266 配网代码进行封装
 */

#include <Arduino.h>
#include "smartconfig.h"
#include "FastDiode.h"

FastDiode LED(2);

void setup()
{
    // 初始化串口
    Serial.begin(115200);
    Serial.println("begin WiFi config... ... ");

    LED.breathing (500); // LED 呼吸，表示正在尝试链接网络

    // 加载存储的配置信息并检查是否需要重新配网
    smartConfig.loadConfig();

    if (smartConfig.checkNetConfigNeeded())
    {
        LED.flickering (50);            // 需要配网 LED 快闪
        smartConfig.startWiFiConfig (); // 等待 SmartConfig 配网
    }
    else
    {
        smartConfig.initWiFi (); // 不需要配网，初始化 WiFi
    }
    LED.open (); // 配网结束，LED 常亮

    Serial.println("Wi-Fi Connection Time: " + String((float)millis() / 1000) + " seconds");

    // 打印 WiFi 的 SSID 和密码
    Serial.println("SSID: " + smartConfig.getSSID() + " Password: " + smartConfig.getPassword());
}

void loop()
{
}
